class menu_gui :
    def __init__ ( self , mediator ) :
        self . _mediator = mediator
        self . _application_window = None
        self . _created_frame = None
    def application_window_reply ( self , window ) :
        self . _application_window = window
    def gui_create_frame_reply ( self , frame ) :
        self . _created_frame = frame
    def show_menu ( self ) :
        self . _create_frame ( )
        self . _mediator . create_new_table_in_frame ( self . _add_table_frame ( ) )
    def hide_menu ( self ) :
        self . _mediator . gui_destroy_frame ( self . _frame )
    def _create_frame ( self ) :
        self . _mediator . application_window_request ( )
        self . _mediator . gui_create_frame_request ( master = self . _application_window )
        self . _frame = self . _created_frame
        self . _mediator . gui_pack ( widget = self . _frame , padx = 10 , pady = 10 )
    def _add_table_frame ( self ) :
        self . _mediator . gui_create_frame_request ( master = self . _frame )
        frame = self . _created_frame
        self . _mediator . gui_pack \
            ( widget = frame
            , side = self . _mediator . gui_side_top ( )
            , fill = self . _mediator . gui_fill_x ( )
            )
        return frame
